﻿using System;
using System.Collections.Generic;
using System.Linq;
using Android;
using AndroidX.Core.App;
using System.Text;
using System.Threading.Tasks;
using AndroidX.Activity.Result.Contract;
using Android.Content;

namespace InteractiveMusicPlayerMobile.安卓平台.辅助类
{
    /// <summary>
    /// 提供在安卓平台访问文件与文件夹的相关方法
    /// </summary>
    public static class 文件访问
    {
        public static Android.Net.Uri 获取文件URI(Context 运行时, string 文件路径, string 权限声明 = "com.MusicScriptFileManager.FileProvider")
        {
            return FileProvider.GetUriForFile(运行时, 权限声明, new Java.IO.File(文件路径));
        }

        public static Android.Net.Uri 获取文件URI(string 文件路径, string 权限声明 = "com.MusicScriptFileManager.FileProvider")
        {
            return FileProvider.GetUriForFile(MainActivity.运行时, 权限声明, new Java.IO.File(文件路径));
        }

        //获取默认存储位置的绝对路径
        public static string 获取默认存储路径()
        {
            return Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
        }
        //获取音乐文件夹的路径
        public static string 获取音乐文件夹路径()
        {
            return Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryMusic);
        }
        //获取文档文件夹的路径
        public static string 获取文档文件夹路径()
        {
            return Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryDocuments);
        }
        //获取下载文件夹的路径
        public static string 获取下载文件夹路径()
        {
            return Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryDownloads);
        }
        //获取应用程序文件夹的路径
        public static string 获取应用程序文件夹路径()
        {
            string 数据路径 = MainActivity.运行时.GetExternalFilesDir(null).ToString();
            if (Directory.Exists(数据路径)) { Directory.CreateDirectory(数据路径); }
            return 数据路径;
          
        }

    }
}
